import UIKit

// 常量
class Const {
    // 格
    public static var GRID_SIZE: CGFloat = 0                    // 尺寸（需要根据屏幕尺寸计算出来）

    // 游戏区域
    public static let GAME_BOARD_GRID_COUNT_H: CGFloat = 20     // 横向格数
    public static var GAME_BOARD_GRID_COUNT_V: CGFloat = 0      // 纵向格数（需要根据屏幕尺寸计算出来）
    public static let GAME_BOARD_COLOR = UIColor.black.cgColor  // 背景色

    // 定时器
    public static let TIMER_INIT = 0.5                          // 初始间隔值，单位秒
    public static let TIMER_GROW = 0.05                         // 增长间隔值，单位秒，难度每增加1级，间隔值减少此数

    // 难度
    public static let DIFF_BASE = 5                             // 基数。分数每达到此数的整数倍时，难度增加
    public static let DIFF_MAX = 10                             // 最大值。难度达到此数后不再增加

    // 控件 tag
    public static let TAG_BUTTON_START = 1                      // "开始"按钮
    public static let TAG_BUTTON_HELP = 2                       // "帮助"按钮

    // 胜利数
    public static let WIN_NUMBER = DIFF_BASE * DIFF_MAX         // 达到此数胜利

    // 蛇
    public static let SNAKE_COLOR = UIColor.green.cgColor       // 颜色

    // 果子
    public static let APPLE_COLOR = UIColor.red.cgColor         // 颜色
    
    // 音乐
    public static let MUSIC_FILE_NAME = "music"                 // 文件名
    public static let MUSIC_EXTEND = "wav"                      // 扩展名
    
    // 图片
    public static let BUTTON_PAUSE_PRESSED_IMAGE_FILE_NAME =
        "button_pause_pressed.png"                              // "暂停"按钮选中状态的图片文件名
    public static let BUTTON_MUSIC_PRESSED_IMAGE_FILE_NAME =
        "button_play_music_pressed.png"                         // "音乐"按钮选中状态的图片文件名

    // 比例
    public static let SCALE_PADDING_H = 1.0                     // 控件之间的水平距离与格的尺寸之比
    public static let SCALE_PADDING_V = 2.0                     // 控件之间的垂直距离与格的尺寸之比
    public static let SCALE_BUTTON_SIZE = 2.0                   // 按钮的尺寸与格的尺寸之比
    public static let SCALE_LABEL_DIFFICULTY_WIDTH = 0.5        // "难度"标签的宽度与屏幕宽度之比
    public static let SCALE_LABEL_SCORE_WIDTH = 0.5             // "其它"标签的宽度与屏幕宽度之比
    public static let SCALE_LABEL_TEXTSIZE = 0.8                // 标签文字的尺寸与格的尺寸之比
    public static let SCALE_BUTTON_TEXTSIZE = 1.2               // 按钮文字的尺寸与格的尺寸之比

    // 其它
    public static let BUTTON_COUNT = 4.0                        // 按钮个数
}
